#!/bin/bash
#
# Slackware build script for limewire

# Copyright 2006-2010  Robby Workman, Northport, AL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PRGNAM=LimeWire
VERSION=${VERSION:-5.5.8}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

set -e

rm -rf $PKG $TMP/$PRGNAM
mkdir -p $TMP $PKG/opt $OUTPUT
cd $TMP
unzip $CWD/LimeWireOther.zip
mv $PRGNAM $PKG/opt

ZIPVERSION=$(strings $PKG/opt/LimeWire/LimeWire.jar | grep "LimeWire version [0-9]")
if [ "$ZIPVERSION" != "LimeWire version $VERSION" ]; then
  cat << EOF 

This script is made for LimeWire version $VERSION, but the zip archive
present in $CWD is $ZIPVERSION.

This is probably okay - the LimeWire developers frequently release new 
versions, but the zip archive is not versioned.  If you want to continue
with the zip archive you have, simply press Enter and we'll carry on.
Otherwise, press Ctrl-C to exit.

EOF
  read _junk 
  VERSION="$(printf "$ZIPVERSION" | cut -d ' ' -f 3)"
fi

mkdir -p $PKG/usr/bin
cat << EOF > $PKG/usr/bin/$PRGNAM
#!/bin/sh
cd /opt/LimeWire
./runLime.sh
EOF
chmod 0755 $PKG/usr/bin/LimeWire
( cd $PKG/usr/bin ; ln -s LimeWire limewire )

# Install desktop file and icon
install -D -m 0644 $CWD/$PRGNAM.desktop \
  $PKG/usr/share/applications/$PRGNAM.desktop
install -D -m 0644 $CWD/$PRGNAM.png \
  $PKG/usr/share/pixmaps/$PRGNAM.png

# Let's not move the docs, but we will add the build script to them
install -D -m 0644 $CWD/$PRGNAM.SlackBuild \
  $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
( cd $PKG/usr/doc/$PRGNAM-$VERSION
  for FILE in README.txt SOURCE COPYING; do
    ln -s /opt/$PRGNAM-$VERSION/$FILE $FILE ; 
  done
)

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
chown -R root:root .
chmod -R a-s,u+rw,go+r-w .
/sbin/makepkg -c n -l y $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
